/**
 * Copyright &copy; 2012-2014 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.employee.entity;

import java.util.Date;

import com.thinkgem.jeesite.common.persistence.DataEntity;
import com.thinkgem.jeesite.common.utils.Constons;
import com.thinkgem.jeesite.common.utils.Constons.HolidayType;
import com.thinkgem.jeesite.modules.sys.entity.Office;

/**
 * 考勤汇总
 * 
 * @author pan.zhou
 * @version 2017-07-26
 */
public class SummaryAttendance extends DataEntity<SummaryAttendance> {

    private static final long serialVersionUID = 1L;

    private Office            company;              // 国家
    private Office            office;               // 仓库
    private String            employeeType;         // 员工类别
    private String            employeeNumber;       // 员工编号
    private String            name;                 // 员工姓名
    private Date              attendanceDate;
    private String            department;
    private double            shiftWorktime;
    private double            wageHour;
    private double            normalHour;           // 平时工时
    private double            overtimeHour;
    private double            totalHour;            // 发薪总工时

    private Date              startDate;
    private Date              endDate;
    private double            compassionateLeave;   // 事假
    private double            stickLeave;           // 病假
    private double            annualLeave;          // 年假
    private double            paternityLeave;       // 陪产假
    private double            marriageHoliday;      // 婚假
    private double            antenatalLeave;       // 产检假
    private double            holiday;              // 假期时间
    
    private double            funeralLeaveDay;      //丧假
    private double            paidLeaveDay;      //调休
    private double            otherLeaveDay;      //其它假期
    

    public SummaryAttendance(){
        super();
    }

    public SummaryAttendance(String id){
        super(id);
    }

    public SummaryAttendance(String number, Date date){

        this.delFlag = Constons.DELETE_N;
        this.totalHour = wageHour + compassionateLeave + stickLeave + annualLeave + paternityLeave + marriageHoliday
                         + antenatalLeave;
    }

    public Office getCompany() {
        return company;
    }

    public void setCompany(Office company) {
        this.company = company;
    }

    public Office getOffice() {
        return office;
    }

    public void setOffice(Office office) {
        this.office = office;
    }

    public String getEmployeeType() {
        return employeeType;
    }

    public void setEmployeeType(String employeeType) {
        this.employeeType = employeeType;
    }

    public String getEmployeeNumber() {
        return employeeNumber;
    }

    public void setEmployeeNumber(String employeeNumber) {
        this.employeeNumber = employeeNumber;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Date getAttendanceDate() {
        return attendanceDate;
    }

    public void setAttendanceDate(Date attendanceDate) {
        this.attendanceDate = attendanceDate;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }

    public double getShiftWorktime() {
        return shiftWorktime;
    }

    public void setShiftWorktime(double shiftWorktime) {
        this.shiftWorktime = shiftWorktime;
    }

    public double getWageHour() {
        return wageHour;
    }

    public void setWageHour(double wageHour) {
        this.wageHour = wageHour;
    }

    public double getNormalHour() {
        return normalHour;
    }

    public void setNormalHour(double normalHour) {
        this.normalHour = normalHour;
    }

    public double getOvertimeHour() {
        return overtimeHour;
    }

    public void setOvertimeHour(double overtimeHour) {
        this.overtimeHour = overtimeHour;
    }

    public double getTotalHour() {
        return totalHour;
    }

    public void setTotalHour(double totalHour) {
        this.totalHour = totalHour;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public double getCompassionateLeave() {
        return compassionateLeave;
    }

    public void setCompassionateLeave(double compassionateLeave) {
        this.compassionateLeave = compassionateLeave;
    }

    public double getStickLeave() {
        return stickLeave;
    }

    public void setStickLeave(double stickLeave) {
        this.stickLeave = stickLeave;
    }

    public double getAnnualLeave() {
        return annualLeave;
    }

    public void setAnnualLeave(double annualLeave) {
        this.annualLeave = annualLeave;
    }

    public double getPaternityLeave() {
        return paternityLeave;
    }

    public void setPaternityLeave(double paternityLeave) {
        this.paternityLeave = paternityLeave;
    }

    public double getMarriageHoliday() {
        return marriageHoliday;
    }

    public void setMarriageHoliday(double marriageHoliday) {
        this.marriageHoliday = marriageHoliday;
    }

    public double getAntenatalLeave() {
        return antenatalLeave;
    }

    public void setAntenatalLeave(double antenatalLeave) {
        this.antenatalLeave = antenatalLeave;
    }

    public double getHoliday() {
        return holiday;
    }

    public void setHoliday(double holiday) {
        this.holiday = holiday;
    }

    
    public double getFuneralLeaveDay() {
        return funeralLeaveDay;
    }

    
    public void setFuneralLeaveDay(double funeralLeaveDay) {
        this.funeralLeaveDay = funeralLeaveDay;
    }

    
    public double getPaidLeaveDay() {
        return paidLeaveDay;
    }

    
    public void setPaidLeaveDay(double paidLeaveDay) {
        this.paidLeaveDay = paidLeaveDay;
    }

    
    public double getOtherLeaveDay() {
        return otherLeaveDay;
    }

    
    public void setOtherLeaveDay(double otherLeaveDay) {
        this.otherLeaveDay = otherLeaveDay;
    }
    
    

}
